<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /* 
            // 伪数组（arrayLike/类数组）
            是一种按照序偶因存储数据且有length属性的对象
            因为是对象，所以不能调用数组的方法，比如forEach()、push()等     
        */

    /*
        类数组对象(伪数组)满足一下条件：
        1. 对象必须有属性，并指定数组的长度，否则转化后就是空数组
        2. 数组对象的属性必须是数值或数值型字符串，并且从0，1，2，3，

      类(伪)数组对象，转化为数组  Array.from(obj) 
    */

    function sum() {
      console.log(typeof arguments);
      console.log(arguments);
      // arguments.push("张飞");

      let temp = Array.from(arguments);
      temp.push("张飞");
      console.log(temp);
    }
    sum(1, 2, 3, 4, 5);

    let obj = {
      0: "剑圣",
      1: true,
      2: 25,
      3: "船长",
      length: 4
    };

    let result = Array.from(obj);
    console.log(obj);
    result.push("张飞");
    console.log(result);
    </script>
</body>
</html>